package br.com.foxinline.servico;

import br.com.foxinline.modelo.EntradaSelo;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.Query;


/**
 *
 * @author cadomeireles
 */
@Stateless
public class EntradaSeloServico extends ServicoGenerico<EntradaSelo> {
    
    public EntradaSeloServico() {
        super(EntradaSelo.class);
    }

    public List<EntradaSelo> pesquisar(EntradaSelo entradaSelo) {
        String sql = "select entradaSelo from EntradaSelo entradaSelo where entradaSelo.ativo = true";
                
        if (entradaSelo.getNumeroDaNota() != null) {
            
            sql += " and entradaSelo.numeroDaNota = :numeroDaNota";
        }

        if (entradaSelo.getDataDaNota() != null) {
            sql += " and entradaSelo.dataDaNota = :dataDaNota";
        }        
        
        if (entradaSelo.getFornecedor() != null) {
            sql += " and entradaSelo.fornecedor = :fornecedor";
        }

        Query query = getEntityManager().createQuery(sql);
        if (entradaSelo != null && entradaSelo.getNumeroDaNota() != null) {
            query.setParameter("numeroDaNota", entradaSelo.getNumeroDaNota());
        }
        if (entradaSelo != null && entradaSelo.getDataDaNota() != null) {
            query.setParameter("dataDaNota", entradaSelo.getDataDaNota());
        }
        if (entradaSelo != null && entradaSelo.getFornecedor() != null) {
            query.setParameter("fornecedor", entradaSelo.getFornecedor());
        }
        return query.getResultList();
    }
    
}
